package cn.fl.insurance.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.insurance.dto.InsTypCfgRDTO;
import cn.fl.insurance.vo.InsTypCfgRVO;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description: 险种配置关系表 转换器
 * VO是客户端传递数据到服务端进行转换的数据
 * VO转换数据变成DTO传递到服务端
 * VO不能在服务端出现
 */
public class InsTypCfgRVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto InsTypCfgRDTO
     * @return InsTypCfgRVO
     */
    public static InsTypCfgRVO toVO(InsTypCfgRDTO dto) {
        InsTypCfgRVO vo = null;
        if (dto != null) {
            vo = new InsTypCfgRVO();
            vo.setId(dto.getId());
            vo.setInsTypId(dto.getInsTypId());//险种ID
            vo.setBuOrgCd(dto.getBuOrgCd());//事业部（组织架构）
            vo.setPrjTypCd(dto.getPrjTypCd());//项目类型
            vo.setIsFstReq(dto.getIsFstReq());//首年是否必须
            vo.setIsRenewReq(dto.getIsRenewReq());//续保是否必须

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人

            vo.setBuOrgCdNm(dto.getBuOrgCdNm());//事业部
            vo.setPrjTypCdNm(dto.getPrjTypCdNm());//项目类型名称
            vo.setInsTypNm(dto.getInsTypNm());//险种大类
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo InsTypCfgRVO
     * @return InsTypCfgRDTO
     */
    public static InsTypCfgRDTO toDTO(InsTypCfgRVO vo) {
        InsTypCfgRDTO dto = null;
        if (vo != null) {
            dto = new InsTypCfgRDTO();
            dto.setId(vo.getId());
            dto.setInsTypId(vo.getInsTypId());//险种ID
            dto.setBuOrgCd(vo.getBuOrgCd());//事业部（组织架构）
            dto.setPrjTypCd(vo.getPrjTypCd());//项目类型
            dto.setIsFstReq(vo.getIsFstReq());//首年是否必须
            dto.setIsRenewReq(vo.getIsRenewReq());//续保是否必须

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<InsTypCfgR>
     * @return List<InsTypCfgRDTO>
     */
    public static List<InsTypCfgRVO> toVOList(List<InsTypCfgRDTO> list) {
        List<InsTypCfgRVO> voList = new ArrayList<InsTypCfgRVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (InsTypCfgRDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }
}
